Embodiments of the inventive subject matter generally relate to the field of computing, and, more particularly, to metaheuristic optimization.
Software tools employ metaheuristic optimization algorithms to solve optimization problems. Examples of metaheuristic optimization algorithms include evolutionary algorithms (e.g., genetic algorithm, differential evolution), ant colony optimization algorithms, simulated annealing algorithms, etc.
Evolutionary algorithms use techniques loosely based on Darwinian evolution and biological mechanisms to evolve solutions to design problems. A software tool that implements an evolutionary algorithm starts with a randomly generated population of solutions, and iteratively uses recombination, crossover, mutation, and the Darwinian principles of natural selection to create new, more fit solutions in successive generations. Evolutionary algorithms have been deployed in many aspects of research and development, and have generated human-competitive solutions to a wide range of problems.